package com.itbour.service.tg;

import java.util.List;
import java.util.Map;

import com.itbour.com.page.Page;
import com.itbour.dto.com.TopicInfoDto;
import com.itbour.dto.tg.DesignPCInfoDto;
import com.itbour.dto.tg.DesignPageInfoDto;
import com.itbour.dto.tg.DesignInfoDto;
import com.itbour.dto.tg.KeywordInfoDto;
import com.itbour.dto.tg.OrgInfoDto;
import com.itbour.dto.tg.OutlineInfoDto;
import com.itbour.dto.video.YjxPriceInfoDto;


/**
* 设计模版
* 
* copyright   itbour team 2016
* @author     xc
*
*/
public interface DesignService {
	
	/**
	 * @param countKey
	 *            查询该表所有记录行的SQL语句ID
	 * @param sqlKey
	 *            需要查询记录的SQL语句ID
	 * @param param
	 *            传递给查询语句的参数
	 * @param pageNo
	 *            需要查询的实际页
	 * @param pageSize
	 *            每页记录行数
	 * @return page对象
	 */
	public Page pageQuery(Map<String,Object> param, Integer pageNo, Integer pageSize);
	public Page pageQueryTmplPrice(Map<String,Object> param, Integer pageNo, Integer pageSize);
	
	// 查询设计模版信息
	public List<DesignInfoDto> selectDesignInfo(Map<String,Object> param);
	public List<DesignPageInfoDto> selectDesignPageInfo(Map<String,Object> param);
	public List<DesignPCInfoDto> selectDesignPCInfo(Map<String,Object> param);
	
	// 更新设计模版信息
	public void updateDesignById(Map<String,Object> param);
	
	// 删除设计模版信息
	public void deleteDesignInfo(Map<String,Object> param);
	public void deleteDesignPageInfo(Map<String,Object> param);
	public void deleteDesignPCInfo(Map<String,Object> param);
	
	// 查询提纲
	public List<OutlineInfoDto> selectOutlineInfo(Map<String,Object> param);
	
	// 查询组织
	public List<OrgInfoDto> selectOrgInfo(Map<String,Object> param);
	
	// 检索关键词信息
	public List<KeywordInfoDto> selectKeywordInfo(Map<String,Object> param);
	
	// 添加评审纪录
	public void insertReviewHis(Map<String,Object> param);
	
	// 检索热门专题信息
	public List<TopicInfoDto> selectTopicInfo(Map<String,Object> param);
	
	// 模版价格增删改
	public void deleteTmplPriceInfo(Map<String,Object> param);
	public void insertTmplPrice(Map<String,Object> param);
	public void updateTmplPriceById(Map<String,Object> param);
	
	//**Gets the user documentation information from a design template
	public Page getDisUserDocInfo(Map<String, Object> parm,Integer pageNo, Integer pageSize);
	
	// 设置一键秀 模板套餐价格
	public List<YjxPriceInfoDto> selectPriceInfo(Map<String,Object> param);
	public boolean addPriceRInfo(Map<String, Object> parm);// 添加  一键秀模板套餐价格 
	public boolean delPriceRInfo(Map<String, Object> parm);// 删除  一键秀 模板套餐价格
	
	public void delTmplSetRInfo(Map<String, Object> parm);
	
	/**
	 * 下架模板
	 */
	public Page pageQueryDesignOutReview(Map<String,Object> param, Integer pageNo, Integer pageSize);
	public void insertReview2His(Map<String,Object> param);// 添加复审通过评审记录

}
